var memberList=new Array();
var nameList=new Array();
var columns = [
    {
        align : 'center',
        checkbox: true,
        visible: true,
        formatter: function (i,row) {            // 每次加载 checkbox 时判断当前 row 的 id 是否已经存在全局 array() 里
            if($.inArray(row.id,memberList)!=-1){    // 因为 Set是集合,需要先转换成数组
                return {
                    checked : true               // 存在则选中
                }
            }
        }
    },
    {
        field: 'index',
        title: '序号',
        align:"center",
        formatter:function(value, row, index){
            return index+1;
        }
    },{
        field: 'trueName',
        align: 'center',
        title: '老师名称'
    },{
        field: 'sex',
        align: 'center',
        title: '性别',
        formatter:function(value, row, index){
            return row.sex == "0" ? "女" : "男";
        }
    },{
        field: 'tel',
        align: 'center',
        title: '电话号码'
    },{
        field: 'cityName',
        align: 'center',
        title: '所属城市'
    }];
var tableObject={
    init:function () {
        if(undefined != sessionStorage.getItem("memberList") && null !=sessionStorage.getItem("memberList") && "" !=sessionStorage.getItem("memberList")){
            memberList=JSON.parse(sessionStorage.getItem("memberList"));
            nameList=JSON.parse(sessionStorage.getItem("nameList"))
        }
        $('#addObjDet').bootstrapTable({
            url:application.contextPath+"/lesson/queryTeacherList",//调用url
            method: 'get',                     //发送请求类型
            cache: false,                      //是否使用缓存，默认为true
            clickToSelect: true,               //默认false不响应，设为true则当点击此行的某处时，会自动选中此行的checkbox（复选框）或radiobox（单选按钮）
            uniqueId: "id",                    //每一行的唯一标识，一般为主键列
            checkboxHeader: false,				//设置 false 将在列头隐藏全选复选框,默认true
            selectItemName: "id",				//radio 或者 checkbox 的字段 name 名
            pagination: true,					//设置是否分页
            singleSelect: true,
            sidePagination: "server",			//设置在哪里进行分页，可选值为 'client' 或者 'server'。设置 'server'时，必须设置服务器数据地址（url）或者重写ajax方法
            pageNumber: 1,						//如果设置了分页，首页页码。
            pageSize: 5,						//如果设置了分页，页面数据条数。
            pageList: [5,10],				   //如果设置了分页，设置可供选择的页面数据条数。设置为 All 或者 Unlimited，则显示所有记录。
            columns: columns,					//列配置项
            queryParams : function (params) {
                //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
                var temp = {
                    size: params.limit,                         //页面大小
                    page: (params.offset / params.limit) + 1   //页码
                };
                return temp;
            },
            onLoadSuccess: function(res){  //加载成功时执行
                if(!res.isSuccess){
                    layer.open({
                        title:"加载失败!",
                        content:'页面加载失败!'
                    });
                }else {
                    $("#addObjDet").bootstrapTable("load",res.data)//加载成功时添加数据
                }
            },
            onLoadError: function(res){  //请求没有发送到后台时错误
                layer.open({
                    title:"加载失败!",
                    content:'请求加载失败!'
                });
            },
        }),
            $('#addObjDet').on('uncheck.bs.table check.bs.table check-all.bs.table uncheck-all.bs.table',function(e,rows){
                var datas = $.isArray(rows) ? rows : [rows];        // 点击时获取选中的行或取消选中的行
                // parms.selectType == "0" ? tableObject.singleSelect(e.type,datas) : tableObject.multi(e.type,datas);
                // tableObject.examine(e.type,datas);                                 // 保存到全局 array() 里
                tableObject.singleSelect(e.type,datas);
            });
    },
    singleSelect:function (type,datas) {
        if(type.indexOf('uncheck')==-1){
            memberList.splice(0,1);
            nameList.splice(0,1);
            $.each(datas,function(i,v){
                // 添加时，判断一行或多行的 id 是否已经在数组里 不存则添加　
                memberList.push(v.id);
                nameList.push(v.trueName);
            });
        }else{
            $.each(datas,function(i,v){
                console.log(v);
                memberList.splice(memberList.indexOf(v.id),1);    //删除取消选中行
                nameList.splice(nameList.indexOf(v.trueName),1);    //删除取消选中行
            });
        }
    },
    multi:function (type,datas) {
        if(type.indexOf('uncheck')==-1){
            $.each(datas,function(i,v){
                // 添加时，判断一行或多行的 id 是否已经在数组里 不存则添加　
                memberList.indexOf(v.id) == -1 ? memberList.push(v.id) : -1;
                nameList.indexOf(v.trueName) == -1 ? nameList.push(v.trueName) : -1;
            });
        }else{
            $.each(datas,function(i,v){
                memberList.splice(memberList.indexOf(v.id),1);    //删除取消选中行
                nameList.splice(nameList.indexOf(v.trueName),1);    //删除取消选中行
            });
        }
    },
    queryListBySearch:function () {
        var opt={
            url:application.contextPath+"/lesson/queryListBySearch",
            query:{size:5,page:1,search:$("#sel").val()},
            silent:true
        };
        $('#addObjDet').bootstrapTable('refresh',opt);
    },
    tableObject:function () {
        sessionStorage.setItem("memberList",JSON.stringify(memberList));
        sessionStorage.setItem("nameList",JSON.stringify(nameList));
        parent.$("#teacherName").val(nameList[0]);
        parent.$("#teacherId").val(memberList[0]);
        layer.close(layer.index);
    }
};


$(document).ready(function(){
    tableObject.init();
});